package com.smedi.ismedi.constructionproject.api.dto.response.resp;

import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * @Author: xulinjun
 * @Date: 2021-6-8 13:28
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class ProjectResp implements Serializable {
    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "父组织id")
    private Long hrOrganizationId;

    @ApiModelProperty(value = "项目名称")
    private String projectName;

    @ApiModelProperty(value = "项目编码")
    private String projectCode;

    @ApiModelProperty(value = "项目简称")
    private String projectShortName;

    @ApiModelProperty(value = "项目经理")
    private String projectManager;

    @ApiModelProperty(value = "电话")
    private String mobile;

    @ApiModelProperty(value = "construction_permit")
    private String constructionPermit;

    @ApiModelProperty(value = "项目类型")
    private String projectCategory;

    @ApiModelProperty(value = "project_cost")
    private BigDecimal projectCost;

    @ApiModelProperty(value = "project_status")
    private String projectStatus;

    @ApiModelProperty(value = "竣工/完工日期")
    private LocalDate finishDate;

    @ApiModelProperty(value = "project_address")
    private String projectAddress;

    @ApiModelProperty(value = "project_address_province")
    private String projectAddressProvince;

    @ApiModelProperty(value = "project_address_city")
    private String projectAddressCity;

    @ApiModelProperty(value = "project_map_location")
    private String projectMapLocation;

    @ApiModelProperty(value = "contract_signing_date")
    private LocalDate contractSigningDate;

    @ApiModelProperty(value = "contract_duration_begin")
    private LocalDate contractDurationBegin;

    @ApiModelProperty(value = "contract_duration_end")
    private LocalDate contractDurationEnd;

    @ApiModelProperty(value = "actual_duration_begin")
    private LocalDate actualDurationBegin;

    @ApiModelProperty(value = "actual_duration_end")
    private LocalDate actualDurationEnd;

    @ApiModelProperty(value = "epc_type")
    private String epcType;

    @ApiModelProperty(value = "epc_unit")
    private String epcUnit;

    @ApiModelProperty(value = "project_member")
    private String projectMember;

    @ApiModelProperty(value = "general_contractor")
    private String generalContractor;

    @ApiModelProperty(value = "supervision_unit")
    private String supervisionUnit;

    @ApiModelProperty(value = "monitor_type")
    private String monitorType;

    @ApiModelProperty(value = "vivid_progress")
    private Integer vividProgress;

    @ApiModelProperty(value = "vivid_progress_updated_date")
    private LocalDate vividProgressUpdatedDate;

    @ApiModelProperty(value = "区域照片")
    private String regionPicture;

    @ApiModelProperty(value = "组织机构照片")
    private String organizationPicture;

    @ApiModelProperty(value = "安全责任委托书")
    private String entrustBook;

    @ApiModelProperty(value = "合同数")
    private BigDecimal contractNum;

    @ApiModelProperty(value = "类别")
    private String category;
}
